package com.perfma.xtest.tool;

import com.deepoove.poi.XWPFTemplate;
//import com.deepoove.poi.data.MiniTableRenderData;
import com.deepoove.poi.data.RowRenderData;
import com.deepoove.poi.data.TextRenderData;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;

import java.io.FileOutputStream;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author: junhui.si
 * @date: 2020-10-23 14:52
 **/
@Slf4j
public class WordDemo1 {

//    public static void main(String[] args) {
//        try {
//            String inputFileName = TestFileUtil.getPath() + "report-t.docx";
//            XWPFTemplate template = XWPFTemplate.compile(inputFileName);
//
//            Map<String, Object> map = Maps.newHashMap();
//            map.put("title", "啦啦啦");
//            map.put("creator", "作者1");
//            map.put("testRequire", "一顿操作瞎写一通1");
//            map.put("reportResult", "一顿操作瞎写一通2");
//            map.put("date", DateUtils.formatDate(new Date(), "yyyy 年 MM 月 dd 日"));
//
//            // 被测环境
//            RowRenderData header = RowRenderData.build(
//                    new TextRenderData("集群名")
//                    , new TextRenderData("所属应用")
//                    , new TextRenderData("节点数")
//                    , new TextRenderData("IP网址")
//                    , new TextRenderData("总CPU数")
//                    , new TextRenderData("总内存")
//                    , new TextRenderData("总磁盘大小"));
//            RowRenderData row0 = RowRenderData.build("1", "1", "1", "1", "1", "1", "1");
//            RowRenderData row1 = RowRenderData.build("2", "1", "1", "1", "1", "2", "1");
//            map.put("testEnvForm", new MiniTableRenderData(header, Arrays.asList(row0, row1)));
//
//
//            // 评估指标
//            RowRenderData header2 = RowRenderData.build(
//                    new TextRenderData("评估类型")
//                    , new TextRenderData("所属场景")
//                    , new TextRenderData("评估对象")
//                    , new TextRenderData("指标")
//                    , new TextRenderData("要求")
//                    , new TextRenderData("允许基线偏移"));
//            List<Map<String, Object>> list = Lists.newArrayList();
//            Map<String, Object> itemMap = Maps.newHashMap();
//            itemMap.put("goalName", "目标1");
//            itemMap.put("goalType", "目标类型1");
//            itemMap.put("indicatorCount", "3");
//            itemMap.put("status", "通过");
////            itemMap.put("newLine", " \n");
//            RowRenderData row11 = RowRenderData.build("1", "1", "1", "1", "1", "1");
//            RowRenderData row12 = RowRenderData.build("2", "1", "1", "1", "1", "2");
//            itemMap.put("form", new MiniTableRenderData(header2, Arrays.asList(row11, row12)));
//            list.add(itemMap);
//
//            Map<String, Object> itemMap2 = Maps.newHashMap();
//            itemMap2.put("goalName", "目标2");
//            itemMap2.put("goalType", "目标类型2");
//            itemMap2.put("indicatorCount", "4");
//            itemMap2.put("status", "不通过");
////            itemMap2.put("newLine", " \n");
//            RowRenderData row13 = RowRenderData.build("1", "1", "1", "1", "1", "7777");
//            RowRenderData row14 = RowRenderData.build("2", "1", "1", "1", "2", "3333");
//            itemMap2.put("form", new MiniTableRenderData(header2, Arrays.asList(row13, row14)));
//            list.add(itemMap2);
//
//
//            map.put("evaluationIndicatorList", list);
//            template.render(map);
//
//            template.getXWPFDocument().createTOC();
//            String outputFileName = TestFileUtil.getPath() + "report.docx";
//            FileOutputStream out = new FileOutputStream(outputFileName);
//            template.write(out);
//            out.flush();
//            out.close();
//            template.close();
//        } catch (Exception e) {
//            log.error("error.", e);
//        }
//    }
}
